查看原文
其他

SuperEdge v0.2.0新版发布,支持灰度发布、新增StatefulsetGrid边缘工作负载

SuperEdge Team 腾讯云原生 2021-07-13

SuperEdge 提供了一套基于原生 Kubernetes 的边缘容器管理系统,该开源项目是由腾讯云联合英特尔、VMware 威睿、虎牙、寒武纪、美团、首都在线,多家公司共同发布。SuperEdge 把云原生能力扩展到边缘侧,不仅很好的实现了云端对边缘端资源和业务的管理和控制,而且提供了边缘增强应用管理能力,支持多区域应用部署、区域自治、灰度发布等一系列能力,为应用实现边缘原生化提供了强有力的支持。




新特性及优化





SuperEdge 在 2021-03-19 发布了 v0.2.0 版本 - https://github.com/superedge/superedge/releases/tag/v0.2.0【或点击底部”阅读原文“进入链接】

经过社区技术讨论,本次更新主要聚焦于持续提升跨地域多机房的边缘应用管理能力以及提升节点代理组件性能和安全性两个方面,详情如下:

ServiceGroup边缘应用管理优化

ServiceGroup 用于边缘应用的区域流量管控和管理容灾,帮助用户快速把服务部署到不同机房并且使得各个服务间的请求在本机房或本地域内部即可完成,避免非必要的服务跨地域访问。

1. 新增 StatefulsetGrid 类型工作负载,支持有状态应用的区域自治

StatefulsetGrid 是原生 Kubernetes StatefulSets 在 SuperEdge 上的扩展。通过 ServiceGroup 的应用管控能力帮助用户在边缘端快速部署有状态业务,实现区域自治。现在 ServiceGroup 提供 StatefulsetGrid 、DeploymentGrid 两种容器工作负载及 ServiceGrid 的服务负载。

2. 流量区域自治能力支持 Headless Service

新增  statefulset-grid-daemon  组件,整合 ServiceGrid 及StatefulSetGrid 功能,实现了有状态服务基于 Pod FQDN 的 Headless Service 的流量区域自治能力。

3. 支持边缘应用以 NodeUnit 为粒度进行灰度发布

ServiceGroup 新增灰度发布机制,允许发布者以 yaml 的方式维护应用版本池以及灰度策略。目前支持以 NodeUnit 为灰度粒度,DeploymentGrid 和 StatefulsetGrid 均可使用该灰度能力。

lite-apiserver 节点代理组件优化

lite-apiserver 是运行在边缘节点上的轻量级 apiserver,它代理节点上所有组件和业务容器访问云端 kube-apiserver 的请求,并对请求结果做高效缓存。在云边断连的情况下,利用这些缓存提供服务,实现边缘自治的能力。

1. 支持自动更新证书

lite-apiserver 自动识别节点侧组件证书有效期,在证书失效之前自动更新证书,避免手动更新证书的麻烦和风险。

2. 缓存机制增强

lite-apiserver 可处理所有 Kubernetes 资源的 Watch Event,并据此更新对应的 List 缓存数据。

3. 新增3种缓存方式

在节点侧新增了3种本地缓存方式:内存、Badger 和 Bolt 的本地KV存储,结合v0.1版本,目前支持:本地文件、内存、Badger 和 Bolt 共4种本地缓存方式。由于内存缓存模式无数据持久化能力,只推荐在调测试时使用。

4. 支持复用策略,大大降低网络请求的连接数

通过复用网络连接,lite-apiserver 与云端 apiserver 间请求不在独占连接,大大降低连接数。





参考资料





户案例

SuperEdge核心组件介绍

核心组件原理解析

携手社区

扫描下面的二维码加入我们的交流群,共同探讨SuperEdge、研究边缘容器技术。

项目链接:【https://github.com/superedge/superedge】 

Release 链接:【https://github.com/superedge/superedge/releases/tag/v0.2.0】 

变更记录:【https://github.com/superedge/superedge/blob/main/CHANGELOG/CHANGELOG-0.2.md】 

项目文档:【https://github.com/superedge/superedge/tree/main/docs】


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存